package br.com.mundodaprata.store.testes;

import java.util.Random;

public class NumberUtil {

	
	public static double getNumber( String value ){
      if (value == null || value.isEmpty()) {
         return 0;
      }
		
		value = value.replaceAll("\\.", "").replaceAll(",", ".").replaceAll("R|\\$| ", "");
		try{
			return Double.parseDouble( value );
		}
		catch( Exception e ){
			return 0;
		}
	}
	
	
	public static boolean isInteger( String value ){
		try{
			Integer.parseInt( value );
			return true;
		}
		catch( NumberFormatException e ){
			return false;
		}
	}
	
	public static boolean isDouble( String value ){
		try{
			Double.parseDouble( value );
			return true;
		}
		catch( NumberFormatException e ){
			return false;
		}
	}
	
	public static boolean isLong( String value ){
		try{
			Long.parseLong( value );
			return true;
		}
		catch( NumberFormatException e ){
			return false;
		}
	}
	
	
	public static long parseLong( String value ){
	   try{
	      return Long.parseLong( value );
	   }
	   catch( NumberFormatException  e ){
	      return 0;
	   }
	}
	
	public static int parseInteger( String value ){
	   try{
	      return Integer.parseInt( value );
	   }
	   catch( NumberFormatException  e ){
	      return 0;
	   }
	}
	
	public static double parseDouble( String value ){
      try{
         return Double.parseDouble( value );
      }
      catch( NumberFormatException  e ){
         return 0;
      }
   }
	
	public static String random( int digits ){
      Random r = new Random();
      StringBuffer sbNumber = new StringBuffer( digits );
      for (int i = 0; i < digits; i++) {
         sbNumber.append( r.nextInt( 10 ) );
      }
      return sbNumber.toString();
   }
	
	public static int random ( int min, int max ){
	   return min + (int)(Math.random() * ((max - min) + 1));
	}
	
	public static double random ( double min, double max ){
	   return min + (Math.random() * ((max - min) + 1));
	}
}